home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI Enlighten DSM 3.1
/
SGI EnlightenDSM 3.1.iso
/
DEC3240
/
COMMON.Z
/
COMMON
/
bin
/
set_nis_master
< prev
next >
Wrap
Text File
|
1999-04-16
|
3KB
|
171 lines
#!/bin/sh
#
# Copyright (c) 1990-1999 Enlighten Software Solutions, Inc.
#
# Check arguments:
# <domain> <clients_list_file> <start_at_boot> <client_also>
if [ $# -ne 4 ]
then
exit 1
fi
DOMAIN=$1
CLIENTS=$2
STARTATBOOT=$3
CLIENT=$4
# Initialize variables
TMP=/tmp/nissetup.master.$$
HOSTS=/etc/hosts
RCCONF=/etc/rc.config
ECHO=/bin/echo
RCMGR=/usr/sbin/rcmgr
NISSETUP=/usr/sbin/nissetup
YPDIR=/var/yp
# Check if NIS is already configured
prev_conf=`$RCMGR get NIS_CONF`
# Check to make sure nissetup won't complain about
# system configuration
if [ \! -w "$RCCONF" ]
then
exit 2
fi
hname=`hostname`
if [ $? -ne 0 ]
then
exit 3
fi
if [ "$prev_conf" = "YES" ]
then
exit 4
fi
if [ \! -d "$YPDIR" ]
then
exit 5
fi
# Yes, we want to continue
$ECHO "C" > $TMP
# Press ENTER twice
$ECHO "\n" >> $TMP
# The host's NIS domain name
$ECHO $DOMAIN >> $TMP
# ... yes, this is the correct NIS domain name
$ECHO "y" >> $TMP
# This is going to be a NIS master server
$ECHO "1" >> $TMP
# Yes, we want to continue
$ECHO "C" >> $TMP
# Allow remote password updates to the master copy of the passwd file
$ECHO "y" >> $TMP
# Remake the NIS maps
if [ -d "$YPDIR/$DOMAIN" ]
then
$ECHO "Y" >> $TMP
fi
# Check the list of NIS slave server names
if [ -r $CLIENTS ]
then
for servname in `cat $CLIENTS`
do
sed "s/#.*//" $HOSTS > $HOSTS.tmp
good=`egrep "[ ]$servname([ \.]|$)" $HOSTS.tmp`
if [ -n "$good" ]
then
short=`echo $hname | sed 's/\..*//'`
if [ "$servname" = "$hname" ] || [ "$servname" = "$short" ]
then
exit 6
else
$ECHO $servname >> $TMP
fi
else
exit 7
fi
done
else
exit 8
fi
# Terminate the list
$ECHO "\n" >> $TMP
# Yes, we want to continue
$ECHO "C" >> $TMP
rm -rf $YPDIR/$DOMAIN
if [ $? -ne 0 ]
then
exit 9
fi
mkdir $YPDIR/$DOMAIN
if [ $? -ne 0 ]
then
exit 10
fi
rmdir $YPDIR/$DOMAIN
if [ \! -d "$YPDIR/src" ]
then
mkdir "$YPDIR/src"
if [ \! -d "$YPDIR/src" ]
then
exit 11
fi
fi
cp /etc/group $YPDIR/src/group
cp /etc/hosts $YPDIR/src/hosts
cp /var/adm/sendmail/aliases $YPDIR/src/mail.aliases
cp /etc/netgroup $YPDIR/src/netgroup
cp /etc/networks $YPDIR/src/networks
cp /etc/passwd $YPDIR/src/passwd
cp /etc/protocols $YPDIR/src/protocols
cp /etc/rpc $YPDIR/src/rpc
cp /etc/services $YPDIR/src/services
# Use the -s security option for ypbind
$ECHO "y" >> $TMP
# Use the -S security option for ypbind
$ECHO "y" >> $TMP
# Enter an authorized server
$ECHO "" >> $TMP
# Yes, we want to continue
$ECHO "C" >> $TMP
# Disallow all ypset requests
$ECHO "3" >> $TMP
# ... yes, this is correct
$ECHO "y" >> $TMP
# Use all of the NIS databases served by the NIS server
$ECHO "y" >> $TMP
# Start the NIS daemons now
$ECHO "y" >> $TMP
# Run the NIS setup utility
cat $TMP | $NISSETUP
# Done!
rm $TMP
exit 0